//该文件专门应用于路由


import VueRouter from 'vue-router'

//引入组件
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'
import Detail from '../pages/Detail'
//创建并且暴露一个路由器
const router =  new VueRouter({
    routes:[
        {
            name:'zhuye',
            path:'/home',
            component:Home,
            children:[
                {
                    name:'xinwen',
                    path:'news',
                    component:News
                },
                {
                
                    name:'xiaoxi',
                    path:'message',
                    component:Message,
                    children:[
                        {
                            name:'xiangqing',
                            path:'detail/:id/:title',
                            component:Detail,
                            
                            //props的第一种写法，值为对象，该对象中的所有key-value都会以props的形式传给Detail组件
                            // props:{a:1,b:'hello'}

                            //props的第二种写法，值为布尔值，若布尔值为真，就会把该路由组件收到的所有params参数，以props形式传给Detail组件
                            // props:true

                            //props的第三种写法，值为函数
                            props($route){
                                return {id:$route.params.id,title:$route.params.title}
                            }
                        }
                    ]
                }
            ]
        },
        {
            name:'guanyu',
            path:'/about',
            component:About
        }
    ]
})

//全局前置路由守卫——初始化的时候被调用、每次路由切换之前被调用
router.beforeEach((to,from,next) => {
    console.log(to,from)
    console.log(to.name)

    //当缓存中存放的名字是老黑学院的时候就可以看到新闻和消息，否则看不到新闻和消息
    if(to.name === 'xinwen' || to.name === "xiaoxi"){
        if(localStorage.getItem("school") === "laoheixueyuan"){
            next()
        }else{
            alert("学校名称不对，无法查看信息")
        }
    }else{
        next()
    }
})

export default router


